随笔分类 -  alibaba

1 2 下一页
配置中心Nacos
摘要:Nacos 是阿里巴巴2018年7月份开源的项目,如其名, Naming Configuration Service ,专注于服务发现和配置管理领域。 Nacos 是什么?上面已经大概介绍了,更多详细内容可以从 官网 或 Github 了解。Nacos 能帮我们解决什么问题?本文围绕其“配置管理”功 阅读全文
posted @ 2019-03-13 16:58 duanxz 阅读(9531) 评论(0) 推荐(0) 编辑
Spring Boot下Druid连接池+mybatis
摘要:目前Spring Boot中默认支持的连接池有dbcp,dbcp2, hikari三种连接池。 引言: 在Spring Boot下默认提供了若干种可用的连接池,Druid来自于阿里系的一个开源连接池,在连接池之外,还提供了非常优秀的监控功能,这里讲解如何与Spring Boot实现集成。 1. 环境 阅读全文
posted @ 2017-04-28 18:12 duanxz 阅读(1526) 评论(0) 推荐(0) 编辑
RocketMQ之一:RocketMQ整体介绍
摘要:常用MQ介绍及对比--《MQ详解及四大MQ比较》 RocketMQ环境搭建--《RocketMQ之三:RocketMQ集群环境搭建》 RocketMQ物理部署结构 RocketMQ的消息存储--《RocketMQ之六:RocketMQ消息存储》 RocketMQ各角色基本数据结构 RocketMQ生 阅读全文
posted @ 2017-01-10 22:59 duanxz 阅读(10607) 评论(0) 推荐(7) 编辑
RocketMQ之二:分布式开放消息系统RocketMQ的原理与实践(消息的顺序问题、重复问题、可靠消息/事务消息)
摘要:分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了三个问题: RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实 阅读全文
posted @ 2016-11-11 11:21 duanxz 阅读(4716) 评论(0) 推荐(1) 编辑
RocketMQ总结
摘要:架构 概念模型最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结User GuideRocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在2016年底捐赠给Apache开源基金会成为孵化项目,经过不到一年 阅读全文
posted @ 2016-01-12 16:16 duanxz 阅读(749) 评论(0) 推荐(0) 编辑
RocketMQ之三:RocketMQ集群环境搭建
摘要:1、初步理解Producer/Consumer Group在安装RocketMQ之前我们先来理解Group概念,在RocketMQ中Group是很重要的。通过Group机制,让RocketMQ天然的支持消息负载均衡!比如某个Topic有9条消息,其中一个Consumer Group有3个实例(3个进 阅读全文
posted @ 2016-01-04 11:37 duanxz 阅读(5401) 评论(0) 推荐(0) 编辑
RocketMQ之三:nameserver源码解析
摘要:NameServer代码结构 如下图: 代码结构 如上图所示,nameServer设计比较轻量级的,其中几个主要类的功能为: NamesrvStartup:从命名就可以看出这为NameServer的启动类。 RouteInfoManager:从类名可以看出为路由信息的管理类,就是存放Broker的状 阅读全文
posted @ 2015-12-28 09:24 duanxz 阅读(1176) 评论(0) 推荐(0) 编辑
阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)
摘要:项目背景 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。 otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从201 阅读全文
posted @ 2015-12-23 11:42 duanxz 阅读(2426) 评论(1) 推荐(0) 编辑
RocketMQ之四:RocketMq事务消息
摘要:事务消息 通过消息的异步事务,可以保证本地事务和消息发送同时执行成功或失败,从而保证了数据的最终一致性。 发送端执行如下几步: 发送prepare消息,该消息对Consumer不可见 执行本地事务(如 update DB) 若本地事务执行成功,则向MQ提交消息确认发送指令;若本地事务执行失败,则向M 阅读全文
posted @ 2015-12-21 14:35 duanxz 阅读(1390) 评论(0) 推荐(0) 编辑
阿里巴巴开源项目: canal 基于mysql数据库binlog的增量订阅&消费
摘要:背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增 量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此 开启了一段新... 阅读全文
posted @ 2015-12-21 11:13 duanxz 阅读(12165) 评论(0) 推荐(0) 编辑
RocketMQ之七:RocketMQ管理与监控
摘要:前言 首先提出我们的监控诉求,出现如下情况时,希望能够及时接收到系统告警通知: RocketMQ 服务宕机 RocketMQ 消费者下线 RocketMQ 消息出现长时间或者大量堆积 本文将通过修改 rocketmq-console源码的方式,增加RocketMQ 消费者下线 和RocketMQ 消 阅读全文
posted @ 2015-12-03 23:17 duanxz 阅读(14858) 评论(0) 推荐(2) 编辑
RocketMQ之八:重试队列,死信队列,消息轨迹
摘要:问题思考 死信队列的应用场景? 死信队列中的数据是如何产生的? 如何查看死信队列中的数据? 死信队列的读写权限? 死信队列如何消费? 重试队列和死信队列的配置 消息轨迹 1、应用场景 一般应用在当正常业务处理时出现异常时,将消息拒绝则会进入到死信队列中,有助于统计异常数据并做后续的数据修复处理; 2 阅读全文
posted @ 2015-12-03 21:54 duanxz 阅读(8961) 评论(0) 推荐(3) 编辑
使用druid连接池的超时回收机制排查连接泄露问题
摘要:在工程中使用了druid连接池,运行一段时间后系统出现异常:Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is... 阅读全文
posted @ 2015-11-28 17:18 duanxz 阅读(6411) 评论(0) 推荐(0) 编辑
FastJson只序列化java对象的部分属性
摘要:如果我们想要将实体类中的某个字段或某几个不进行解析呢?那么我们可以使用transient 关键字,来标记它为不需要的,在fastjson中还提供了一种便捷的方法来自定义我们需要序列化的字段, 这样就只会序列化 id和age 的字段。 阅读全文
posted @ 2015-10-12 11:12 duanxz 阅读(7540) 评论(0) 推荐(0) 编辑
RocketMQ之八:水平扩展及负载均衡详解
摘要:RocketMQ是一个分布式具有高度可扩展性的消息中间件。本文旨在探索在broker端,生产端,以及消费端是如何做到横向扩展以及负载均衡的。 NameServer集群 提供轻量级的服务发现和路由。每个NameServer 记录完整的路由信息,提供等效的读写服务,并支持快速存储扩展。 就是一个注册中心 阅读全文
posted @ 2015-08-06 15:38 duanxz 阅读(4651) 评论(1) 推荐(0) 编辑
RocketMQ之九:RocketMQ消息发送流程解读
摘要:在讨论这个问题之前,我们先看一下Client的整体架构。 Producer与Consumer类体系 从下图可以看出以下几点:(1)Producer与Consumer的共同逻辑,封装在MQClientInstance,MQClientAPIImpl, MQAdminImpl这3个蓝色的类里面。所谓共同 阅读全文
posted @ 2015-08-06 09:38 duanxz 阅读(4877) 评论(0) 推荐(1) 编辑
RocketMQ之十:RocketMQ消息接收源码
摘要:1. 简介 1.1、接收消息 RebalanceService:均衡消息队列服务,负责通过MQClientInstance分配当前 Consumer 可消费的消息队列( MessageQueue )。当有新的 Consumer 的加入或移除,都会重新分配消息队列。主要实现consumer的负载均衡, 阅读全文
posted @ 2015-08-06 08:09 duanxz 阅读(1916) 评论(0) 推荐(1) 编辑
死锁
摘要:一 前言 死锁,其实是一个很有意思也很有挑战的技术问题,大概每个DBA和部分开发同学都会在工作过程中遇见 。关于死锁我会持续写一个系列的案例分析,希望能够对想了解死锁的朋友有所帮助。二 案例分析2.1 环境说明MySQL 5.6 事务隔离级别为RR CREATE TABLE `ty` ( `id`  阅读全文
posted @ 2015-05-11 11:50 duanxz 阅读(984) 评论(0) 推荐(0) 编辑
无限变长字符编码方案
摘要:■无限变长字符编码方案 【目的】 无限变长编码,不浪费储存空间,一次扫描就能识别字符,乱码不会扩散。 【基础】 字符编码由字节组成,一个字节为8个二进制位,理论上可表示2的8次方个字符。 【方案】 0开头的编码,当其前一个编码以0开头时为ASCLL码;当其前一个编码为1开头时为变长编码尾码。注意:有 阅读全文
posted @ 2015-05-07 07:31 duanxz 阅读(1355) 评论(0) 推荐(0) 编辑
mycat分布式mysql中间件(数据库切分概述)[转]
摘要:mysql数据库切分 前言 通 过MySQLReplication功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时 候,我们还是会面临到扩展瓶颈。这时候,我们就必须许找其他技术手段来解决这个瓶颈,那就是我们这一章所要介绍恶的数据切分技术。 阅读全文
posted @ 2015-04-29 14:32 duanxz 阅读(946) 评论(0) 推荐(0) 编辑

1 2 下一页